package com.vpen.account.demo.service;

import com.vpen.account.demo.entity.AccountUser;
import com.vpen.account.demo.model.req.ReqAccountUser;
import com.vpen.clib.base.service.BaseService;

/**
 * (AccountUser)表服务接口
 *
 * @author vpen
 * @since 2022-08-12 14:01:40
 */
public interface AccountUserService extends BaseService<AccountUser> {
    /**
     * 通过username获取一个用户
     *
     * @param username 账号
     * @return AccountUser
     * @author 韦鹏
     * @date 2022/7/15 17:26
     **/
    AccountUser selectOneByUsername(String username);


    /**
     * 通过手机号获取
     *
     * @param phone 手机号
     * @return com.vpen.account.demo.entity.AccountUser
     * @author 韦鹏
     * @date 2022/8/16 14:53
     **/
    AccountUser selectOneByPhone(String phone);


    /*********************任何用户能操作的*********************/
    /**
     * 创建用户
     *
     * @param user - 提交的信息
     * @return java.lang.Boolean
     * @author 韦鹏
     * @date 2022/8/16 10:33
     **/
    Boolean createUser(ReqAccountUser user);


    /**
     * 生成短信验证码
     *
     * @param phone 手机号
     * @return java.lang.String
     * @author 韦鹏
     * @date 2022/8/16 10:46
     **/
    String genCode(String phone);
}

